Mobile devices such as smartphones and tablets have opened up a variety of new services that can be provided to users on the go. The geographic location of a mobile device can be determined using any of several technologies for determining its position, including by referencing cellular network towers, WiFi locations, or GPS. Where users opt in to allowing services to use their geographic location, location-based services can be provided through the local device.
A location-based service is an information or entertainment service, which is accessible on mobile devices through a mobile network and which uses information on the geographical position of the mobile device. First generation location-based services can include services to identify a location of a person or object, such as discovering the nearest banking cash machine or the whereabouts of a friend. Such services can also include mobile commerce, for example, by providing coupons or advertising directed at customers based on their current location. They could further include personalized weather services and even location-based games.
A more-granular understanding of a user's location information, (e.g., personalized and history aware location information), can allow more sophisticated services to be provided. For example, when a user runs errands, the user's mobile device can generate a location history including data points such as longitude, latitude, and a timestamp for each visited location. More valuable, however, would be a list of businesses or other destinations visited by the user. Having such information might allow users to “check in” using social applications more easily by presenting the user with the name of the business that they are visiting when they choose to check in. E-commerce applications might include delivery coupons or advertising relating to businesses that the user actually visits. The mobile device could have an application that provides the user with a journal of where the user has gone on a given day or days. Many other improved location-based services could be provided with such information.
In general, determining where the user visited can be accomplished using local search engines. Local search engines are search engines that allow users to submit geographically constrained searches against a structured database of local business listings. Results are not always accurate, however. Location information derived from mobile devices is not always exact. GPS can provide good results, but not indoors (including in places such as malls) or in other places where GPS signals can be difficult to receive, such as in “urban canyons.” Businesses may also be very closely clustered, including where single buildings include many businesses or where one business may be above or below another. Businesses may also not be geographically separated—one example is a hotel that also has a restaurant; it would be useful to know whether a visitor dined or stayed in such a place. Still further, the local search databases may not have fully precise information for distinguishing the coordinates of nearby businesses. All of these things contribute to local search engines providing inaccurate results under these circumstances.